<?php
 
/******************************************
* File:			lib_xml.php
* Version:			1.0.1
* Last modified:	25/10/2009
* Last modifier:	Hugo Lavigne
*****************************************/
 
class creer_xml
{
	var $nomdufichier;
	private $contenu;
	private $arborescence;

	Function __construct($nomdufichier, $balise_principale, $encoding="UTF-8")
	{
		$this->nomdufichier = $nomdufichier ;
		$this->contenu = '<?xml version="1.0" encoding="'.$encoding.'"?>';
		$this->contenu .= $this->entrer($balise_principale) ;
	}

	Function entrer( $champs )
	{
		$this->arborescence[] = $champs;
		$this->contenu .= '<'.$champs.'>';
	}

	Function sortir($quitter=FALSE)
	{
		if (!$quitter AND count($this->arborescence)==1)
			die('Sortie de boucle impossible...');
		$champs = array_pop($this->arborescence);	
		$tmp = explode(' ', $champs);
		$champs = $tmp[0];
		$this->contenu .= '</'.$champs.'>';
		if ($quitter AND count($this->arborescence)>0)
			$this->sortir(TRUE);
	}

	Function ligne( $champs,$valeur )
	{
		$valeur = str_replace('<','<',$valeur);
		$valeur = str_replace('&','&',$valeur);
		$this->contenu .= '<'.$champs.'>'.$valeur.'</'.$champs.'>';
	}

	Function commentaire( $contenu )
	{
		$this->contenu .= '<!-- '.$contenu.' -->';
	}	

	Function creerlefichier()
	{
		$this->sortir(TRUE);
		$fichier = fopen($this->nomdufichier,'w+') ;
		$rep = fwrite($fichier,$this->contenu) ;
		fclose($fichier) ;
		return $rep ;
	}
}
 
?> 